1. Field of the Invention
The present invention generally relates to computer applications involving printer output, such as word-processor programs and, more particularly, to preview of printer consequences of the interaction of particular printers with particular applications.
2. Description of the Prior Art
The rise in popularity of personal computers and relatively small computers and local area network systems has led to intense competition among manufacturers of peripheral equipment, such as printers, as well as in application programs. Therefore, at the present time, it is typical to assemble computing systems, regardless of size, with peripheral equipment from among a multiplicity of manufacturers and which may embody a plurality of technologies in the achievement of their respective functions. While some standards of compatibility exist and are utilized by manufacturers to insure operational compatibility of both software and hardware products, the ultimate result of the interaction of particular hardware and software may vary in subtle but nevertheless significant ways. This is particularly true of word processing and desk-top publishing applications and printers used for realizing the finished product of those programs.
In word processing programs, it is known to provide preview features by which a simulation of the appearance of the finished page may be seen. However, these preview functions are principally directed to allowing the user to preview the page format. A page display of the text of the page is generated, often by bit-mapping of the text in a predetermined and possibly user-specified font is developed to be viewed by the user, typically at reduced size because of hardware constraints of the display. This display can also be limited in resolution due to display and bit map limitations (such as by the amount of available storage) even when different sizes of preview display are available (e.g. full page, full width, etc.). Further, such preview displays do not reflect the final appearance of the page when printed since the size of the display limits detail. Neither will such a preview image accurately reflect the response of any particular printer which might, for example, form some fonts by modification of other fonts or substitute default fonts for those specified.
The potential for differing responses of printers to identical commands and applications is well-recognized as are the differences in printer properties. Often a plurality of different printers will be connected to the same system so that the user may select the type of printer most compatible with the user's needs for a particular document. For instance, the cost-per-page of a document produced by a pin printer may be considerably less than those produced by a laser or ink jet printer. Printers with resident fonts which can produce those fonts directly from character codes usually do not require significant amounts of spooling time (the time required by the CPU or the internal processor of the printer to convert the codes corresponding to a document to printer control codes or a page image, such as a bit-mapped representation of a page) but are generally limited in the number of fonts available and are usually limited to the production of variable pitch fonts or only one or a small plurality of point sizes and pitches. Spooling time may be greatly increased by the need to download even a single special character within a large document. Printers capable of bit-mapping of pages are most flexible and accurate in the production of many fonts, point sizes and pitches and well as justification of text and variable pitch fonts. However, this capability is achieved at the expense of long spooling time while each page of the document is converted to a bit map. The print production is usually limited to laser processes with attendant relatively high expense or to pin printers of limited resolution.
However, the preview functions presently available are specific to the application programs and do not accurately reflect the response of particular peripheral devices such as printers. While such a refinement could theoretically be approached within the present technology, it is not practical to do so since the variety of printers and implementations of fonts on particular printers would require data storage and software production far beyond the size of the applications programs themselves. Within a given application such as a word processing program or desk-top publishing program, it is also possible to produce fonts or graphics through special subroutines of the applications or other applications which may then be imported into the document or even created within the document by the other application. Examples of such subroutines would be the graphics subroutines for producing equations, boxes and the like. Examples of other applications which can be resorted to for the production of fonts include GML.TM., Bookmaster.TM., Script.TM. and Foils.TM.. The accuracy of preview functions is complicated by the fact that word processing and desk-top publishing applications often provide for a plurality of character attributes including differing fonts which are not readily suppressed for preview if a corresponding font or other attribute is not available on a particular printer and a default attribute would be provided by a particular printer. A common example is the production of a pseudo italics font by providing a skew between dot lines of a character row or portion thereof.
At the present time, sample windows provides the user with a view of a font of characters and character representation in the IBM OS/2.TM. system editor. While this feature of the OS/2.TM. system utilizes font data stored in a database and therefore does not require extended spooling time to develop the image for display, the image reflects only the font as stored in the processor and does not reflect the response which will be produced by a particular printer in response to particular printer commands.
The possibility of increasing the fidelity of preview functions is further complicated by the fact that developing printer technology has permitted the feature of installable fonts which may be available from a plurality of manufacturers for each type of printer; each combination producing slightly different results. At the same time, the display hardware may limit the resolution or otherwise alter the reproduction of these fonts, diminishing the fidelity of the display to the resulting printed image, thus reducing the usefulness of the feature. In any case, the requisite bit-mapping required for a preview display of increased fidelity is comparable to the spooling required for a multi-font, bit mapping printer and thus requires an unacceptable amount of time to enable the user to preview the production of a particular font to allow choice of font during the process of text composition.
It is also known in printer technology to provide a test routine which will fully exercise the resident fonts and other capabilities of the printer, such as multiple colors, to print an exhaustive set of characters of which the machine is capable. However, while this procedure may be useful in testing a machine after repair or to assure full functionality before the production of a document, it does not allow comparison of the results of particular commands or command combinations from an application program, just as the preview function of word processors cannot display the specific response of a particular printer. The generation of all characters of all possible fonts is also far too time-consuming to use for the purpose of font production comparison during text composition.
It is also known, at the present time, to provide for the presentation of graphical images in a window of a computer display. Such images can be derived by employing a scanner, camera or a similar device to digitize a pattern of contrasting areas of a scene or document or portion thereof. However, such graphical display windows are usually associated with a document on a one-to-one basis or images are called from a database in their entirety. Even a relatively simple operation such as cropping an image or registration, superposition or conjoining portions of images is performed only with substantial operator effort.
In far earlier times, it was common for persons to display their skill in needlework by the creation of a piece of needlework which has come to be known as a "sampler", This work would typically consist of patterned needlework or embroidery including some decoration, a lower case and upper case alphabet, including numerals 0-9 and often a short maxim or saying of some significance to the artisan. This work was often made in the course of the artisan's educational process and was typically exhibited as an indication of the literacy of the artisan as well as the artisan's skill. Thus, the term "sampler" generally has come to mean an example of the work of an artisan or manufacturer which represents the gamut of at least an identifiable portion of work which the artisan can produce. The term "sampler" will thus be used in this particular sense hereinafter as an example of the product of a particular device representing an identifiable portion of the output of that device.